package com.jiezuo.flowable.service;

import com.jiezuo.auth.entity.User;
import java.util.List;
import java.util.Map;

/**
* @description
* @author        庞留杰
* @date          2023/8/4 11:24
* @version       V1.0
**/
public interface CommonService {

    String start(Map<String,Object> params);

    void execute(Map<String,Object> params);

    List<String> apply(String processDefinitionKey);

    List<Map<String,Object>> todo(String processDefinitionKey);

    List<String> done(String processDefinitionKey);

    void withdraw(Map<String,Object> params);

    String getTaskIdByProcessInstanceId(String processInstanceId);

    List<User> findTodoPersonsByProcessInstanceId(String taskId);

    void deleteProcessInstanceId(String processInstanceId);

    List<Map<String, String>> findAllUser();

    List<Map<String, String>> findAllDepart();

    List<Map<String, String>> findAllPosition();

    List<Map<String, String>> findAllPositionGroup();

    List<Map<String, String>> findAllPositionLevel();

    void draftForm(Map<String,Object> params);

    void temporarySaveForm(Map<String,Object> params);

    String startForm(Map<String,Object> params);

    void executeForm(Map<String,Object> params);

    String getStartUserIdByTaskId(String taskId);

    String getStartUserIdByProcessInstanceId(String processInstanceId);

    List<Map<String,Object>> apply2(String processDefinitionKey);

    List<Map<String,Object>> todo2(String processDefinitionKey);

    List<Map<String,Object>> done2(String processDefinitionKey);

    List<Map<String, String>> findTodoInfoByProcessInstanceId(String processInstanceId);

    Map<String, Object> message();

    void reject(Map<String,Object> map);

    void crossNodeRejection(Map<String,Object> map);

    void deleteFormAndFlow(Map<String,Object> params);
}
